/*
 * PCCRelais.cpp
 *
 *  Created on: 31 mars 2011
 *      Author: Loludian
 */

#include <iostream>
#include <signal.h>
#include <pthread.h>
#include "PCCRelais.h"
#include "defines.h"

int getNbThreads(int type_thread);
pthread_t* getConducteur(int numero);

PCCRelais::PCCRelais() {
	std::cout <<"PCCRelais créé" << std::endl;
}

void PCCRelais::demarrerRames() {
	std::cout << "PCCRelais : démarrage des Rames"<< std::endl;
    pthread_t* conducteurThread;
    for (int i = 0; i < getNbThreads(CONDUCTEUR) ; ++i){
    	conducteurThread = getConducteur(i);
    	std::cout << "!!! Tentative d'envoi de messages au conducteur "<< i << std::endl;
    	pthread_kill(*conducteurThread,SIGUSR1);
    }
    std::cout << "!!! Fin tentative demarrage" << std::endl;
}

void PCCRelais::arreterRames() {
	std::cout << "PCCRelais : arret des Rames"<< std::endl;
    pthread_t* conducteurThread;
    for (int i = 0; i < getNbThreads(CONDUCTEUR) ; ++i){
    	conducteurThread = getConducteur(i);
    	std::cout << "!!! Tentative d'envoi de messages au conducteur "<< i << std::endl;
    	pthread_kill(*conducteurThread,SIGUSR2);
    }
    std::cout << "!!! Fin tentative arret" << std::endl;
}


PCCRelais::~PCCRelais() {
	// TODO Auto-generated destructor stub
}
